//标准输入输出头文件
#include <stdio.h>

//文件操作函数头文件
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>

//字符串头文件
#include <string.h>

#define MAX_SIZE 1000

main(){
	int fd;
	ssize_t length_w,length_r = MAX_SIZE,ret;
	// ⑴ 存放的文件的路径
	char *IOtest = "/mnt/usb/a.txt";

	char buffer_read[MAX_SIZE];

	//(2)打开文件。
	//提示：考虑该目录下是否存在该文件？读写的权限如何？每次写是写在文件末尾？
	if((fd = open(IOtest,O_RDWR,0777))<0){
		printf("open %s failed!\n",IOtest);
	}
	char *a="I ";
	char *b="EVER ";
	char *c="LOVE!";
	int i = 0;
	while(i<3)
	{
		switch(i)
		{
		//(3)写入文件
			case 0:length_w = write(fd,a,strlen(a));
			break;
			case 1:length_w = write(fd,b,strlen(b));
			break;
			case 2:length_w = write(fd,c,strlen(c));
			break;
		}
		if(length_w == -1){
			perror("write");
		}
		else{
			printf("Write Function OK!\n");
		}
		i++;
	}
	//(4)关闭文件
	close(fd);

    //(5)打开文件
	if((fd = open(IOtest,O_RDWR,0777))<0){
		printf("open %s failed!\n",IOtest);
	}
	//(6)读取文件
	if(ret = read(fd,buffer_read,MAX_SIZE)){
		perror("read");
	}
	//打印出来文件的内容
	printf("Files Content is %s \n",buffer_read);
	//(7)关闭文件
	close(fd);

}
